home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / DevCon / Orlando_1993 / Devcon93.4 / Networking2 / AS225 / docs / README < prev    next >
Encoding:
Text File  |  1993-01-11  |  11.3 KB  |  265 lines

  1.  
  2.                                                           Jan 11, 1993
  3.  
  4.  
  5.                     AS225 Developer's Disk, Version 2.3
  6.  
  7.              Requires AmigaDOS 2.04 (V37) or greater 
  8.              Requires AS225 Release 2.
  9.              
  10.     Do not distribute this disk or any of its contents. 
  11.     "socket.library" will be included in the Release 2 of AS225.
  12.     If you write an application which you want to release before 
  13.     the next release of AS225, contact CATS for socket.library 
  14.     licensing information.
  15.  
  16.     References in this document to "inet.library" and "socket.library"
  17.     refer to versions 5.x and 4.x respectively.  We have made every
  18.     effort to ensure compatibility with previous versions of both but
  19.     we make no promises!  
  20.  
  21.     ================================================================
  22.     ** NOTE ** ** NOTE ** ** NOTE ** ** NOTE ** ** NOTE ** ** NOTE **
  23.     =================================================================
  24.     This archive contains none of the required binaries. The socket.library
  25.     (4.x) in question requires the 5.x inet.library which, in turn, requires
  26.     SANA2 drivers and other support bibaries and test files. Therefore,
  27.     developers will require the Beta of AS225 Release 2 for a full, proper
  28.     developmemt environment.
  29.  
  30.  
  31.     ---------------------------------------------------------------
  32.     *** Socket.library 4.0 -requires- inet.library 5.0 or later ***
  33.     ---------------------------------------------------------------
  34.  
  35.     This is a BETA version of this software. ALL the files on this disk 
  36.     should be considered beta and, as such, we may change them at will
  37.     (theoretically because of the input from beta testers :))
  38.     
  39.     Inet.library  5.x  
  40.     -----------------
  41.     
  42.     There are two main things to note about the new inet.library (v5.0) :
  43.  
  44.     1. It is now a SANA-II library in that you need SANA-II drivers to 
  45.        talk to your hardware.  You will need the a2065.device (Ethernet) 
  46.        and/or the a2060.device(ARCNET) to speak to the Commodore boards.
  47.        These drivers are on this disk in a directory called 
  48.        ":devs/networks". The proper place for these drivers is in a 
  49.        directory called "networks" in your system's "devs:" volume.
  50.         
  51.         example:   "devs:networks/a2065.device"
  52.  
  53.         In addition, you need a file 'sana2_devs' which goes in the
  54.         inet:s directory.  This is described in detail below.
  55.  
  56.     2. This new inet.library does NOT forward IP packets from board to
  57.        board. The old inet.library did this. It shouldn't have. (See 
  58.        RFC 1122.)  The old version (a) defaulted to ON, and (b) had 
  59.        no way to turn it off.  The new one defaults to off and we now 
  60.        provide you with a "inet:c/configinet" which allows you to 
  61.        (a) set the status of  this flag and (b) query the status of 
  62.        the flag.
  63.        
  64.        People using Amigas as gateways should take note.  Docs for 
  65.        'configinet' are in the docs directory.
  66.  
  67.  
  68.     Socket.library  V4.0  (18476 bytes)
  69.     -----------------------------------
  70.  
  71.     This new socket.library has the following additions and changes :
  72.     
  73.     1. The addition of a standard means to launch server programs
  74.        (ftpd, rshd, etc.) and to pass ownership of a given socket 
  75.        from one process to another. See the functions s_inherit() 
  76.        and s_release(). The example server 'timed' source shows how
  77.        to do this.
  78.     
  79.     2. Support for those wishing to mix their compiler's stdio 
  80.        functions with sockets.  A new function called s_dev_list() 
  81.        that gives the ability to tell socket.library about your 
  82.        stdio filehandle array. Example source code is provided for 
  83.        which shows how to write replacement functions for your 
  84.        compiler's 'read()', 'open()' and 'write()' functions.
  85.     
  86.     3. Domain Name Service (as of v4.2).
  87.     
  88.     The Sana2_devs file
  89.     -------------------
  90.     
  91.         Inet.library has received some major changes in terms of
  92.     it's communication with networking hardware.  As of release 5.0,
  93.     all of the hardcoded device drivers (such as hardcoded A2065,
  94.     A2060, or SLIP drivers) have been removed from the code, and
  95.     replaced with an interface to standardized SANA-II drivers. 
  96.     Naturally, this causes certain changes to AS225 installations:
  97.     
  98.         Most importantly, there exists a new file "inet:s/sana2_devs"
  99.     which must exist in order for inet.library to operate.  A sample
  100.     of the file follows:
  101.     
  102.     #Sana II devices used by the inet.library
  103.     #device path             Unit No IPType  ARPType (opt. hardware addr)
  104.     #--------------------------------------------------------------------
  105.     devs:Networks/a2065.device  0     2048    2054
  106.     devs:Networks/a2065.device  1     2048    2054
  107.     devs:Networks/a2060.device  0     240     241
  108.     devs:Networks/slip.device   0     1       2
  109.     
  110.         Each line in the file represents an inet.library device, and
  111.     these devices are numbered, beginning with the first entry in
  112.     the file.  The name that inet.library will know the device by is
  113.     simply an 's', followed by the number of the entry in the file -
  114.     starting with zero.  In our example, the first line relates
  115.     to 's0', the second to 's1', the third to 's2', and the last to
  116.     's3'.
  117.     
  118.         Since the hardcoded drivers are no longer included in
  119.     inet.library, any and all references users may be making to them
  120.     (such as references to 'ae0' or 'ae1' in their inet:s/start-inet
  121.     files) are now faulty.
  122.     
  123.         Each line is broken up into five fields -- the pathname of
  124.     the SANA-II device, the unit number to configure, the ip and arp
  125.     packet types, and an optional hardware address.
  126.     
  127.         The path of the SANA-II device is fairly self-explanatory. 
  128.     Most SANA-II devices can be found in devs:Networks.
  129.     
  130.         The unit number is used to differentiate between multiple
  131.     boards of the same type in a machine.  For instance, if you plug
  132.     two A2065 boards into an Amiga, the first board is unit 0, the
  133.     second is unit 1, and so on.
  134.     
  135.         The IP and ARP types are standardized "packet types".  It is
  136.     by these numbers that inet.library is capable of determining
  137.     which packets coming over the network are TCP/IP packets. 
  138.     Unfortunately, even though these numbers are standardized, they
  139.     vary between different types of hardware. For Ethernet, they are
  140.     2048 and 2054, respectively.  Arcnet seems to have three
  141.     seperate 'standards', but the most common usage seems to be 240
  142.     and 241 respectively.  SLIP, as in our example above, has no
  143.     notion of packet types, so any two different numbers will do.
  144.     
  145.         If you wish to use inet.library with an unusual SANA-II
  146.     device that doesn't have an inherent hardware address, you can
  147.     optionally specify one.  The format is a 0x, followed by any
  148.     number of hex digits (up to the SANA-II limit of 32).  An
  149.     example might be 0x8 for hardware address 8.
  150.  
  151.  
  152.  
  153.     
  154.     Stuff
  155.     -----
  156.     
  157.     Also included are the latest network includes and some example
  158.     source code.
  159.     
  160.     In order for you to make use of the new libraries with the old 
  161.     as225 we are providing BETA copies of the new inet:c/server/* 
  162.     binaries. These are still premliminary and have to be given 
  163.     another once over. All the inet:*/* stuff that is not in this 
  164.     archive will be following shortly. This is released in the 
  165.     meantime to get folks started.
  166.     
  167.     
  168.     ===============================================================
  169.         
  170.  
  171.     NOTE: The functions in the socket.library use many of the 2.0
  172.     AmigaOS calls.  This means that any and all applications that use
  173.     this library will work ONLY under the 2.0 OS (and later versions).
  174.     
  175.     The examples directory contains the source to our new timed
  176.     program (timed.c), an advanced example. 
  177.     
  178.     New in this release:
  179.     
  180.         1. An example timed server demonstrating the use of the new
  181.            s_inherit() and s_release() functions. This example shows the
  182.            one, true way to write a server that gets launched by the
  183.            new inetd daemon.
  184.         
  185.         2. Contains source and binary for a file called 'sas_test' that
  186.            demonstrates the use of the s_dev_list() function.
  187.         
  188.     The include directory contains the header files for use with the
  189.     socket.library.  This version does not supply a copy of the Manx
  190.     pragmas. We do provide the fd file so generating Manx
  191.     pragmas/stubs should be easy  enough.
  192.     
  193.     Some header files have names which conflict with standard SAS or
  194.     Manx headers (in particular, signal.h and sys/types.h).  You'll
  195.     have to figure out how you want to resolve these conflicts
  196.     depending on whether you want source compatibility with Un*x, etc.
  197.     
  198.     COMPILER PROBLEMS:
  199.     
  200.     There are a few function calls that will make an ANSI C compiler
  201.     spit forth warning/errors.  In particular, several of the inet_XXX
  202.     functions pass (4 byte long) structures as their arguments.  ANSI
  203.     compilers -hate- this type of thing.  In order to fix this we
  204.     would make these function incompatible with the way the U*IX calls
  205.     work. Rather than do that we have opted to have you suffer some
  206.     compiler warnings.  Just check your returns and be sure you are
  207.     getting what you asked for.  Some odd looking casts will generally
  208.     fix the compiler warning messages.
  209.  
  210.     CHANGES:
  211.  
  212.     The visible changes are the addition of the functions
  213.     "s_inherit(), s_release() and s_dev_list(). The autodocs and
  214.     includes have been changed to reflect this and a few autodoc
  215.     entries have been clarified or corrected.  The contents of inet/c
  216.     may have been updated to include new utilities.
  217.  
  218.  
  219.     BUGS:
  220.  
  221.     Please promptly report all bugs as follows:
  222.  
  223.     Mail: 
  224.  
  225.         European developers should mail bugs to their support manager.
  226.         U.S./others mail to: Amiga Software Engineering, ATTN: BUG REPORTS,
  227.         CBM, 1200 Wilson Drive, West Chester, PA., 19380, USA
  228.  
  229.     European ADSP users: 
  230.  
  231.         Post 2.0 bugs to asdp.14.bugs, others to adsp.bugs
  232.  
  233.     UUCP: 
  234.     
  235.         to uunet!cbmvax!bugs OR rutgers!cbmvax!bugs OR bugs@commodore.COM
  236.           (enhancement requests to cbmvax!suggestions instead of cbmvax!bugs)
  237.     BIX: 
  238.     
  239.         Post bugs in the bugs topic of your closed developer conference.
  240.         (in this case amiga.beta.inet)
  241.     
  242.     
  243.         Legalese:
  244.     
  245.     This shared socket library (and it's documentation) are Copyright
  246.     © 1991, 1992, 1993 Commodore-Amiga, Inc.  All Rights Reserved.  
  247.     
  248.     Parts of this shared socket library and the associated header
  249.     files are derived from code which is:
  250.  
  251.     Copyright (c) 1983 Regents of the University of California.
  252.     All rights reserved.
  253.  
  254.     Redistribution and use in source and binary forms are permitted
  255.     provided that the above copyright notice and this paragraph are
  256.     duplicated in all such forms and that any documentation,
  257.     advertising materials, and other materials related to such
  258.     distribution and use acknowledge that the software was developed
  259.     by the University of California, Berkeley.  The name of the
  260.     University may not be used to endorse or promote products derived
  261.     from this software without specific prior written permission.
  262.     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  263.     IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  264.     WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  265.